package com.bbva.gptf.back.transformador;

import java.util.List;

import org.springframework.core.convert.converter.Converter;

import com.bbva.gptf.dto.bean.InstrumentosSimulacion;

/**
 * @author Javier Estrella
 * @version 1.0
 * @created 06-mar-2013 17:00:22
 */
public class TransformadorSimulacionToArray implements Converter<List<InstrumentosSimulacion>, Object[][]> {
	
	private static final int CD_CONTRATO = 0;
	private static final int NB_CLASIFICACION = 1;
	private static final int TP_CONTRATO = 2;
	private static final int CD_VALOR_BMV = 3;
	private static final int CD_EMISORA = 4;
	private static final int CD_SERIE = 5;
	private static final int IM_CA_MONTO = 6;
	private static final int PC_CA_INTEGRACION = 7;
	private static final int NU_CA_DELTA = 8;
	private static final int NU_CA_CONTRIBUCION = 9;
	private static final int NU_CA_TASA = 10;
	private static final int IM_CA_PRECIO = 11;
	private static final int CT_CA_TITULO = 12;
	private static final int IM_CA_LIQUIDEZ = 13;
	private static final int IM_CA_VAL_CARTERA = 14;
	private static final int PC_CA_BENCHMARK = 15;
	private static final int PC_CA_CONBENCHMARK = 16;
	private static final int PC_CA_DIFINTEGRA = 17;
	private static final int NU_CA_PONDERACION = 18;
	private static final int CT_CF_TITULO = 19;
	private static final int IM_CF_PRECIO = 20;
	private static final int IM_CF_MONTO = 21;
	private static final int IM_CF_LIQUIDEZ = 22;
	private static final int PC_CF_INTEGRACION = 23;
	private static final int NU_CF_DELTA = 24;
	private static final int NU_CF_CONTRIBUCION = 25;
	private static final int NU_CF_TASA = 26;
	private static final int IM_CF_VAL_CARTERA = 27;
	private static final int PC_CF_BENCHMARK = 28;
	private static final int PC_CF_CONBENCHMARK = 29;
	private static final int PC_CF_DIFINTEGRA = 30;
	private static final int NU_CF_PONDERACION = 31;
	private static final int IM_CF_MONTO_OPERAR = 32;
	private static final int CD_GRUPO_DELTA = 33;
	private static final int TP_NIVEL = 34;
	private static final int TP_TENENCIA = 35;
	private static final int NB_GRUPO_DELTA = 36;
	private static final int CT_CF_TITULO_OR = 37;
	private static final int IM_CF_MONTO_OR = 38;
	private static final int IM_SALDO_CONTABLE = 39;
	private static final int IM_PRECIO_SUCIO = 40;
	private static final int IM_VALOR_NOMINAL = 41;
	private static final int ST_CALCULAR = 42;
	
	@Override
	public Object[][] convert(List<InstrumentosSimulacion> lista){
		int index = 0;
		Object[][] objetos = new Object[lista.size()][43];
		for(InstrumentosSimulacion is : lista){
			objetos[index][CD_CONTRATO] = is.getCdContrato();
			objetos[index][NB_CLASIFICACION] = is.getNbClasificacion();
			objetos[index][TP_CONTRATO] = is.getTpContrato();
			objetos[index][CD_VALOR_BMV] = is.getCdValorBmv();
			objetos[index][CD_EMISORA] = is.getCdEmisora();
			objetos[index][CD_SERIE] = is.getCdSerie();
			objetos[index][IM_CA_MONTO] = is.getImCaMonto();
			objetos[index][PC_CA_INTEGRACION] = is.getPcCaIntegracion();
			objetos[index][NU_CA_DELTA] = is.getNuCaDelta();
			objetos[index][NU_CA_CONTRIBUCION] = is.getNuCaContribucion();
			objetos[index][NU_CA_TASA] = is.getNuCaTasa();
			objetos[index][IM_CA_PRECIO] = is.getImCaPrecio();
			objetos[index][CT_CA_TITULO] = is.getCtCaTitulo();
			objetos[index][IM_CA_LIQUIDEZ] = is.getImCaLiquidez();
			objetos[index][IM_CA_VAL_CARTERA] = is.getImCaValCartera();
			objetos[index][PC_CA_BENCHMARK] = is.getPcCaBenchmark();
			objetos[index][PC_CA_CONBENCHMARK] = is.getPcCaConbenchmark();
			objetos[index][PC_CA_DIFINTEGRA] = is.getPcCaDifintegra();
			objetos[index][NU_CA_PONDERACION] = is.getNuCaPonderacion();
			objetos[index][CT_CF_TITULO] = is.getCtCfTitulo();
			objetos[index][IM_CF_PRECIO] = is.getImCfPrecio();
			objetos[index][IM_CF_MONTO] = is.getImCfMonto();
			objetos[index][IM_CF_LIQUIDEZ] = is.getImCfLiquidez();
			objetos[index][PC_CF_INTEGRACION] = is.getPcCfIntegracion();
			objetos[index][NU_CF_DELTA] = is.getNuCfDelta();
			objetos[index][NU_CF_CONTRIBUCION] = is.getNuCfContribucion();
			objetos[index][NU_CF_TASA] = is.getNuCfTasa();
			objetos[index][IM_CF_VAL_CARTERA] = is.getImCfValCartera();
			objetos[index][PC_CF_BENCHMARK] = is.getPcCfBenchmark();
			objetos[index][PC_CF_CONBENCHMARK] = is.getPcCfConbenchmark();
			objetos[index][PC_CF_DIFINTEGRA] = is.getPcCfDifintegra();
			objetos[index][NU_CF_PONDERACION] = is.getNuCfPonderacion();
			objetos[index][IM_CF_MONTO_OPERAR] = is.getImCfMontoOperar();
			objetos[index][CD_GRUPO_DELTA] = is.getCdGrupoDelta();
			objetos[index][TP_NIVEL] = is.getTpNivel();
			objetos[index][TP_TENENCIA] = is.getTpTenencia();
			objetos[index][NB_GRUPO_DELTA] = is.getNbGrupoDelta();
			objetos[index][CT_CF_TITULO_OR] = is.getCtCfTituloOr();
			objetos[index][IM_CF_MONTO_OR] = is.getImCfMontoOr();
			objetos[index][IM_SALDO_CONTABLE] = is.getImSaldoContable();
			objetos[index][IM_PRECIO_SUCIO] = is.getImPrecioSucio();
			objetos[index][IM_VALOR_NOMINAL] = is.getImValorNominal();
			objetos[index][ST_CALCULAR] = is.getCalcular();
			index++;
		}
		return objetos;
	}
	
}